home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 1 / Amiga Tools.iso / wb-tools / toolmanager / source / library / workbench.c < prev   
C/C++ Source or Header  |  1994-06-06  |  824b  |  43 lines

  1. /*
  2.  * workbench.c  V2.1
  3.  *
  4.  * open & close icon/workbench.library
  5.  *
  6.  * (c) 1990-1993 Stefan Becker
  7.  */
  8.  
  9. #include "ToolManagerLib.h"
  10.  
  11. /* Data */
  12. static ULONG WBCount=0;
  13. struct Library *WorkbenchBase=NULL;
  14.  
  15. /* Try to open workbench.library */
  16. BOOL GetWorkbench(void)
  17. {
  18.  /* Workbench already open or can we open it? */
  19.  if (WorkbenchBase || (WorkbenchBase=OpenLibrary("workbench.library",37)))
  20.   {
  21.    /* Increment WB counter */
  22.    WBCount++;
  23.    DEBUG_PRINTF("WorkbenchBase 0x%08lx ",WorkbenchBase);
  24.    DEBUG_PRINTF("(Count %2ld)\n",WBCount);
  25.  
  26.    /* All OK */
  27.    return(TRUE);
  28.   }
  29.  
  30.  /* Call failed */
  31.  return(FALSE);
  32. }
  33.  
  34. /* Try to close workbench.library */
  35. void FreeWorkbench(void)
  36. {
  37.  /* Decrement WB counter and close workbench.library if zero */
  38.  if (--WBCount==0) {
  39.   CloseLibrary(WorkbenchBase);
  40.   WorkbenchBase=NULL;
  41.  }
  42. }
  43.